<!DOCTYPE html>
<html lang="fr">
	<head>
		<meta charset="utf-8" />
		<base href="../../../" />
		<script src="page.js"></script>
		<link type="text/css" rel="stylesheet" href="page.css" />
	</head>
	<body>
		<h1>[name]</h1>

		<p class="desc">
		Propriété de graphe de scène stockée en mémoire tampon qui permet une accumulation pondérée; utilisée en interne.
		</p>


		<h2>Constructeur</h2>


		<h3>[name]( [param:PropertyBinding binding], [param:String typeName], [param:Number valueSize] )</h3>
		<p>
			-- binding <br />
			-- typeName <br />
			-- valueSize <br />
		</p>


		<h2>Propriétés</h2>


		<h3>[property:PropertyBinding binding]</h3>
		<p>

		</p>

		<h3>[property:TypedArray buffer]</h3>
		<p>
			Tampon de la taille [page:PropertyMixer valueSize] * 4. <br /><br />
			Disposition: [ incoming | accu0 | accu1 | orig ]<br /><br />
			Les interpolateurs peuvent utiliser .buffer comme .result, les données vont dans 'incoming'.
			Les frames de 'accu0' et 'accu1' sont entrelacés afin d'obtenir le résultat intermédiaire et
			sont ensuite comparés pour détecter des changements. 'orig' stocke l'état original de la propriété.
		</p>

		<h3>[property:Number cumulativeWeight]</h3>
		<p>
			La valeur par défaut est `0`.
		</p>

		<h3>[property:Number cumulativeWeightAdditive]</h3>
		<p>
			La valeur par défaut est `0`.
		</p>

		<h3>[property:Number valueSize]</h3>
		<p>

		</p>

		<h3>[property:Number referenceCount]</h3>
		<p>
			La valeur par défaut est `0`.
		</p>

		<h3>[property:Number useCount]</h3>
		<p>
			La valeur par défaut est `0`.
		</p>


		<h2>Méthodes</h2>


		<h3>[method:undefined accumulate]( [param:Number accuIndex], [param:Number weight] )</h3>
		<p>
			Accumule les données de la région 'incoming' du tampon [page:PropertyMixer.buffer buffer][accuIndex] dans 'accu[i]'.<br />

			Si le weight est de `0` cela ne fera rien.
		</p>

		<h3>[method:undefined accumulateAdditive]( [param:Number weight] )</h3>
		<p>
			Accumule les données de la région 'incoming' dans 'add'.<br />

			Si le weight est de `0` cela ne fera rien.
		</p>


		<h3>[method:undefined apply]( [param:Number accuIndex] )</h3>
		<p>
			Applique l'état de [page:PropertyMixer.buffer buffer] 'accu[i]' quand les accus diffèrent.
		</p>

		<h3>[method:undefined saveOriginalState]( )</h3>
		<p>
			Récupère l'état de la propriété concernée et l'applique aux deux accus.
		</p>

		<h3>[method:undefined restoreOriginalState](  )</h3>
		<p>
			Applique l'état antérieur via 'saveOriginalState'.
		</p>


		<h2>Source</h2>


		<p>
			[link:https://github.com/mrdoob/three.js/blob/master/src/[path].js src/[path].js]
		</p>
	</body>
</html>
